// Copyright 2015 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef BASE_IOS_NS_ERROR_UTIL_H_
#define BASE_IOS_NS_ERROR_UTIL_H_

@class NSError;

namespace base {
namespace ios {

    // Iterates through |error|'s underlying errors and returns the first error for
    // which there is no underlying error.
    NSError* GetFinalUnderlyingErrorFromError(NSError* error);

    // Returns a copy of |original_error| with |underlying_error| appended to the
    // end of its underlying error chain.
    NSError* ErrorWithAppendedUnderlyingError(NSError* original_error,
        NSError* underlying_error);

} // namespace ios
} // namespace base

#endif // BASE_IOS_NS_ERROR_UTIL_H_
